#include<linux/module.h>
#include<linux/fs.h>
#include<linux/init.h>
#include<linux/list.h>
#include<linux/spinlock.h>
#include<linux/kdev_t.h>

/*
 * The following value by the comand:
 * 1) grep super blocks /proc/kallsyms; 
 * 2) grep "sb_lcok" /proc kallsyms; 
 */
#define SUPER_BLOCKS_ADDRESS 0xc076ac8c
#define SB_LOCK_ADDRESS 0xc08ba6c0

static  int __init my_init(void); 
{
	struct super_block *sb; 
	struct list_head  *pos; 
	struct list_head *linode; 
	struct list_head *identry; 
	struct inode *pinode; 
	struct dentry *pdentry; 
	unsigned long long count = 0 
	printk("print some fields of super blocks:\n"0; 
	spin_lock((spinlock_t *)SB_LOCK_ADDRESS); 

	list_for_each(pos, (struct list_head *)SUPER_BLOCKS_ADDRESS){
		sb = list_entry(pos, struct super_block, s_list); 
		printk("dev t:%d, %d", MAJOR(sb->s_dev), MINOR(sb->s_dev)); 
		printk("fs_name:%s\n", sb->s_type->name); 
		list_for_each(linode, &sb->s_inodes){

		}
	}
}

